//Środowisko R dla początkujących

//Rozdział 5. - Ocenianie sytuacji
//John M. Quick

//Wyciąganie wstępnych wniosków na podstawie naszych danych

> #zdefiniuj katalog roboczy środowiska R
> #zastąp przykładową ścieżkę taką, która jest odpowiednia dla Ciebie
> setwd("C:/Users/RUser/Strateg/")


> #wczytaj obszar roboczy dla rozdziału 5.
> load("rDlaPoczątkujących_R_05_KopiaDlaCzytelnika.RData")
> #zweryfikuj zawartość obszaru roboczego
>ls()

> #średnia liczba żołnierzy Shu biorących udział w bitwie
> meanSoldiersShu
[1] 21035.83
> #średnia liczba żołnierzy Wei biorących udział w bitwie
> meanSoldiersWei
[1] 21937.5

> #relacja między średnią liczbą   żołnierzy Wei i Shu
> meanSoldierRatioWeiShu <- meanSoldiersWei / meanSoldiersShu
> #wyświetl zawartość zmiennej  meanSoldierRatioWeiShu
>   meanSoldierRatioWeiShu
[1] 1.042863

> #ilu żołnierzy Wei możemy się spodziewać w bitwie, jeśli siły Shu liczą 100 000 wojowników?
> 100000 * meanSoldierRatioWeiShu
[1] 104286.3

//Analiza naszych danych

> #wyświetl wszystkie dane związane z historycznymi bitwami
> battleHistory
                       Metoda Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
1   walkaBezpośrednia     5                 T    Porażka         5000        15000            116
2   walkaBezpośrednia    15                 T    Porażka         5000        10000             96
3   walkaBezpośrednia    25                 T    Porażka         5000        10000             76
4   walkaBezpośrednia    25                 T    Porażka         5000        10000             61
5   walkaBezpośrednia    35                 T    Porażka         7500        15000             52
6   walkaBezpośrednia    20                 T    Porażka        50000       100000             94
7   walkaBezpośrednia    30                 T    Porażka       100000       200000             87
8   walkaBezpośrednia    85                 T Zwycięstwo        10000         5000             36
9   walkaBezpośrednia    95                 T Zwycięstwo       100000        50000             44
10  walkaBezpośrednia    85                 T Zwycięstwo        30000        15000             49
11  walkaBezpośrednia    10                 T    Porażka         2500         5000            112
12  walkaBezpośrednia    15                 T    Porażka         2000         2500             90
13  walkaBezpośrednia    15                 T    Porażka          250          500            111
14  walkaBezpośrednia    20                 T    Porażka         1000         2000             93
15  walkaBezpośrednia    10                 T    Porażka         7000         7500            120
16  walkaBezpośrednia    10                 T    Porażka         5000         7500            100
17  walkaBezpośrednia    90                 T Zwycięstwo        15000        10000             35
18  walkaBezpośrednia    80                 T Zwycięstwo        15000        10000             45
19  walkaBezpośrednia    85                 T Zwycięstwo        25000        10000             40
20  walkaBezpośrednia    85                 T Zwycięstwo        25000        20000             45
21  walkaBezpośrednia    35                 T    Porażka        30000        35000             95
22  walkaBezpośrednia    45                 T    Porażka        25000        35000            105
23  walkaBezpośrednia    50                 T    Porażka        40000        45000            100
24  walkaBezpośrednia    35                 T    Porażka        30000        45000             91
25  walkaBezpośrednia    25                 T    Porażka        65000        75000            120
26  walkaBezpośrednia    20                 T    Porażka        50000        75000             99
27  walkaBezpośrednia    30                 T    Porażka        60000        75000            102
28  walkaBezpośrednia    90                 T Zwycięstwo        75000        40000             44
29  walkaBezpośrednia    90                 T Zwycięstwo        50000        25000             50
30  walkaBezpośrednia    95                 T Zwycięstwo       100000        60000             30
31          okrążenie     5                 N    Porażka        25000        25000            175
32          okrążenie    20                 N    Porażka        50000        50000            124
33          okrążenie    10                 N    Porażka        50000        75000            139
34          okrążenie    55                 T    Porażka       100000       150000            158
35          okrążenie    15                 N    Porażka        25000        50000            128
36          okrążenie   100                 T Zwycięstwo       150000        50000             60
37          okrążenie    90                 T Zwycięstwo       100000        25000             80
38          okrążenie    95                 T Zwycięstwo       100000        30000             70
39          okrążenie    95                 T Zwycięstwo       125000        40000             72
40          okrążenie    95                 T Zwycięstwo        60000        15000             65
41          okrążenie    15                 N    Porażka        15000        15000            126
42          okrążenie    20                 N    Porażka        15000        10000            163
43          okrążenie    15                 N    Porażka        10000        10000            114
44          okrążenie    10                 N    Porażka        10000        10000            127
45          okrążenie    35                 N    Porażka        25000        15000            112
46          okrążenie    55                 T    Porażka        50000       100000            159
47          okrążenie    90                 T Zwycięstwo       100000        20000             90
48          okrążenie    80                 T Zwycięstwo        10000         5000             88
49          okrążenie    90                 T Zwycięstwo       100000        25000             72
50          okrążenie    80                 T Zwycięstwo        25000        15000             61
51          okrążenie    15                 N    Porażka         2500         5000             99
52          okrążenie    10                 N    Porażka         2500         2500            115
53          okrążenie    15                 N    Porażka         1000          500            110
54          okrążenie     5                 N    Porażka         1000         2000            120
55          okrążenie    15                 N    Porażka        10000         7500            160
56          okrążenie    85                 T Zwycięstwo        15000         7500             63
57          okrążenie    90                 T Zwycięstwo        25000        10000             69
58          okrążenie    85                 T Zwycięstwo        15000        10000             74
59          okrążenie    90                 T Zwycięstwo        45000        20000             87
60          okrążenie    80                 T Zwycięstwo        25000        20000             85
61           zasadzka    10                 N    Porażka          500         1500             17
62           zasadzka    10                 N    Porażka          500         1500             18
63           zasadzka     5                 N    Porażka          500         2500             15
64           zasadzka     5                 N    Porażka          500         2500             16
65           zasadzka    25                 N    Porażka         1000         2000             19
66           zasadzka    95                 T Zwycięstwo         1000         2000              7
67           zasadzka     5                 N    Porażka         1000         4000             17
68           zasadzka    85                 T Zwycięstwo         1000         4000              9
69           zasadzka    85                 T Zwycięstwo         1500         5000             12
70           zasadzka    90                 T Zwycięstwo         1500         5000              7
71           zasadzka    50                 T    Porażka         1500         5000             19
72           zasadzka    20                 N    Porażka         2500         5000             21
73           zasadzka    35                 N    Porażka         2500         5000             14
74           zasadzka    40                 N    Porażka         5000        10000             14
75           zasadzka    35                 N    Porażka         5000        10000             18
76           zasadzka    90                 T Zwycięstwo         5000        10000             10
77           zasadzka    20                 N    Porażka         5000        25000             12
78           zasadzka    85                 T Zwycięstwo         5000        10000             13
79           zasadzka    95                 T Zwycięstwo        10000        10000              8
80           zasadzka    95                 T Zwycięstwo        10000         7500              7
81           zasadzka    45                 T    Porażka        10000        40000             16
82           zasadzka    30                 N    Porażka        10000        25000             15
83           zasadzka    35                 N    Porażka        10000        20000             18
84           zasadzka    35                 N    Porażka        15000        18000             21
85           zasadzka    40                 N    Porażka        15000        12000             19
86           zasadzka    95                 T Zwycięstwo        15000        10000              7
87           zasadzka    85                 T Zwycięstwo        25000        50000             10
88           zasadzka    90                 T Zwycięstwo        25000        35000              9
89           zasadzka    80                 T Zwycięstwo        25000        50000             12
90           zasadzka    90                 T Zwycięstwo        25000        40000              8
91        atakOgniowy    30                 N    Porażka          100         1500              4
92        atakOgniowy   100                 T Zwycięstwo          100         1500              1
93        atakOgniowy    25                 N    Porażka          100         2500              2
94        atakOgniowy    10                 N    Porażka          250         2500             14
95        atakOgniowy    95                 T Zwycięstwo          250         2000              4
96        atakOgniowy    30                 N    Porażka          250         2000             10
97        atakOgniowy    30                 N    Porażka          500         4000             13
98        atakOgniowy    20                 N    Porażka          500         4000             13
99        atakOgniowy    70                 T    Porażka          500         5000              3
100       atakOgniowy    90                 T Zwycięstwo          500         5000              6
101       atakOgniowy    30                 N    Porażka          500         5000             12
102       atakOgniowy    40                 N    Porażka         1000         5000              3
103       atakOgniowy    45                 N    Porażka         1000         5000              1
104       atakOgniowy    15                 N    Porażka         1000        10000             12
105       atakOgniowy    90                 T Zwycięstwo         1000        10000              3
106       atakOgniowy    15                 N    Porażka         1000        10000             10
107       atakOgniowy    20                 N    Porażka         1500        25000              2
108       atakOgniowy    25                 N    Porażka         1500        10000              4
109       atakOgniowy    85                 T Zwycięstwo         1500        10000             10
110       atakOgniowy    85                 T Zwycięstwo         2000         7500              9
111       atakOgniowy    30                 N    Porażka         2000         7500              7
112       atakOgniowy    40                 N    Porażka         2000        25000              2
113       atakOgniowy    40                 N    Porażka         2500        20000              3
114       atakOgniowy    30                 N    Porażka         2500        18000              7
115       atakOgniowy    80                 T Zwycięstwo         2500        12000              4
116       atakOgniowy    15                 N    Porażka         5000        10000             11
117       atakOgniowy    10                 N    Porażka         5000        50000             13
118       atakOgniowy    80                 T Zwycięstwo         7500        25000              4
119       atakOgniowy    50                 T    Porażka         7500        50000              9
120       atakOgniowy    15                 N    Porażka        10000        25000             10

> #nasz zbiór danych składa się z siedmiu kolumn
> #Metoda: określa rodzaj techniki zastosowanej podczas bitwy. Możliwe opcje to: walka bezpośrednia, okrążenie, zasadzka i atak ogniowy.
> #Ocena: zawiera ocenę działania armii Shu w skali od 0 do 100. Zhuge Liang po każdej bitwie oceniał armię Shu, aby posiadać zapisy o uzyskanych wynikach w różnych warunkach bojowych.
> #UdaneUżycieMetody: zawiera wartość „tak” (T) lub „nie” (N) oznaczającą, czy metoda prowadzenia bitwy została pomyślnie zastosowana.
> #Wynik: informuje o wyniku bitwy. Jak można się tego spodziewać, do dyspozycji mamy dwie wartości: Porażka i Zwycięstwo.
> #ŻołnierzeShu: przedstawia liczbę żołnierzy biorących udział w każdej z bitw po stronie armii Shu.
> #ŻołnierzeWei: podobna definicja jak w przypadku kolumny ŻołnierzeShu, ale dotycząca armii Wei.
> #CzasTrwaniaDni: oznacza czas trwania każdej z bitew w dniach.


//Tworzenie podzbioru w dużym zbiorze danych

> #użyj funkcji subset(dane, ...) w celu wydzielenia   podzbioru z dużego zbioru danych
> #stwórz podzbiór zawierający dane o walkach bezpośrednich
> subsetHeadToHead <- subset(battleHistory, battleHistory$Metoda == "walkaBezpośrednia")

> #wyświetl zawartość podzbioru danych o walkach bezpośrednich
> subsetHeadToHead
        Metoda Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
1  walkaBezpośrednia     5                 T    Porażka         5000        15000            116
2  walkaBezpośrednia    15                 T    Porażka         5000        10000             96
3  walkaBezpośrednia    25                 T    Porażka         5000        10000             76
4  walkaBezpośrednia    25                 T    Porażka         5000        10000             61
5  walkaBezpośrednia    35                 T    Porażka         7500        15000             52
6  walkaBezpośrednia    20                 T    Porażka        50000       100000             94
7  walkaBezpośrednia    30                 T    Porażka       100000       200000             87
8  walkaBezpośrednia    85                 T Zwycięstwo        10000         5000             36
9  walkaBezpośrednia    95                 T Zwycięstwo       100000        50000             44
10 walkaBezpośrednia    85                 T Zwycięstwo        30000        15000             49
11 walkaBezpośrednia    10                 T    Porażka         2500         5000            112
12 walkaBezpośrednia    15                 T    Porażka         2000         2500             90
13 walkaBezpośrednia    15                 T    Porażka          250          500            111
14 walkaBezpośrednia    20                 T    Porażka         1000         2000             93
15 walkaBezpośrednia    10                 T    Porażka         7000         7500            120
16 walkaBezpośrednia    10                 T    Porażka         5000         7500            100
17 walkaBezpośrednia    90                 T Zwycięstwo        15000        10000             35
18 walkaBezpośrednia    80                 T Zwycięstwo        15000        10000             45
19 walkaBezpośrednia    85                 T Zwycięstwo        25000        10000             40
20 walkaBezpośrednia    85                 T Zwycięstwo        25000        20000             45
21 walkaBezpośrednia    35                 T    Porażka        30000        35000             95
22 walkaBezpośrednia    45                 T    Porażka        25000        35000            105
23 walkaBezpośrednia    50                 T    Porażka        40000        45000            100
24 walkaBezpośrednia    35                 T    Porażka        30000        45000             91
25 walkaBezpośrednia    25                 T    Porażka        65000        75000            120
26 walkaBezpośrednia    20                 T    Porażka        50000        75000             99
27 walkaBezpośrednia    30                 T    Porażka        60000        75000            102
28 walkaBezpośrednia    90                 T Zwycięstwo        75000        40000             44
29 walkaBezpośrednia    90                 T Zwycięstwo        50000        25000             50
30 walkaBezpośrednia    95                 T Zwycięstwo       100000        60000             30

> #stwórz podzbiór, który wyodrębnia dane dotyczące okrążenia
> subsetSurround <- subset(battleHistory, battleHistory$Method == "okrążenie")
> #wyświetl zawartość podzbioru
> subsetSurround
     Method Rating SuccessfullyExecuted  Result ShuSoldiersEngaged WeiSoldiersEngaged DurationInDays
Metoda Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
31 okrążenie     5                 N    Porażka        25000        25000            175
32 okrążenie    20                 N    Porażka        50000        50000            124
33 okrążenie    10                 N    Porażka        50000        75000            139
34 okrążenie    55                 T    Porażka       100000       150000            158
35 okrążenie    15                 N    Porażka        25000        50000            128
36 okrążenie   100                 T Zwycięstwo       150000        50000             60
37 okrążenie    90                 T Zwycięstwo       100000        25000             80
38 okrążenie    95                 T Zwycięstwo       100000        30000             70
39 okrążenie    95                 T Zwycięstwo       125000        40000             72
40 okrążenie    95                 T Zwycięstwo        60000        15000             65
41 okrążenie    15                 N    Porażka        15000        15000            126
42 okrążenie    20                 N    Porażka        15000        10000            163
43 okrążenie    15                 N    Porażka        10000        10000            114
44 okrążenie    10                 N    Porażka        10000        10000            127
45 okrążenie    35                 N    Porażka        25000        15000            112
46 okrążenie    55                 T    Porażka        50000       100000            159
47 okrążenie    90                 T Zwycięstwo       100000        20000             90
48 okrążenie    80                 T Zwycięstwo        10000         5000             88
49 okrążenie    90                 T Zwycięstwo       100000        25000             72
50 okrążenie    80                 T Zwycięstwo        25000        15000             61
51 okrążenie    15                 N    Porażka         2500         5000             99
52 okrążenie    10                 N    Porażka         2500         2500            115
53 okrążenie    15                 N    Porażka         1000          500            110
54 okrążenie     5                 N    Porażka         1000         2000            120
55 okrążenie    15                 N    Porażka        10000         7500            160
56 okrążenie    85                 T Zwycięstwo        15000         7500             63
57 okrążenie    90                 T Zwycięstwo        25000        10000             69
58 okrążenie    85                 T Zwycięstwo        15000        10000             74
59 okrążenie    90                 T Zwycięstwo        45000        20000             87
60 okrążenie    80                 T Zwycięstwo        25000        20000             85

> #stwórz podzbiór, który wyodrębnia dane dotyczące zasadzki
> subsetAmbush <- subset(battleHistory, battleHistory$Method == "zasadzka")
> #wyświetl zawartość podzbioru
> subsetAmbush
   Metoda Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
61 zasadzka    10                 N    Porażka          500         1500             17
62 zasadzka    10                 N    Porażka          500         1500             18
63 zasadzka     5                 N    Porażka          500         2500             15
64 zasadzka     5                 N    Porażka          500         2500             16
65 zasadzka    25                 N    Porażka         1000         2000             19
66 zasadzka    95                 T Zwycięstwo         1000         2000              7
67 zasadzka     5                 N    Porażka         1000         4000             17
68 zasadzka    85                 T Zwycięstwo         1000         4000              9
69 zasadzka    85                 T Zwycięstwo         1500         5000             12
70 zasadzka    90                 T Zwycięstwo         1500         5000              7
71 zasadzka    50                 T    Porażka         1500         5000             19
72 zasadzka    20                 N    Porażka         2500         5000             21
73 zasadzka    35                 N    Porażka         2500         5000             14
74 zasadzka    40                 N    Porażka         5000        10000             14
75 zasadzka    35                 N    Porażka         5000        10000             18
76 zasadzka    90                 T Zwycięstwo         5000        10000             10
77 zasadzka    20                 N    Porażka         5000        25000             12
78 zasadzka    85                 T Zwycięstwo         5000        10000             13
79 zasadzka    95                 T Zwycięstwo        10000        10000              8
80 zasadzka    95                 T Zwycięstwo        10000         7500              7
81 zasadzka    45                 T    Porażka        10000        40000             16
82 zasadzka    30                 N    Porażka        10000        25000             15
83 zasadzka    35                 N    Porażka        10000        20000             18
84 zasadzka    35                 N    Porażka        15000        18000             21
85 zasadzka    40                 N    Porażka        15000        12000             19
86 zasadzka    95                 T Zwycięstwo        15000        10000              7
87 zasadzka    85                 T Zwycięstwo        25000        50000             10
88 zasadzka    90                 T Zwycięstwo        25000        35000              9
89 zasadzka    80                 T Zwycięstwo        25000        50000             12
90 zasadzka    90                 T Zwycięstwo        25000        40000              8


> #stwórz podzbiór, który wyodrębnia dane dotyczące ataku ogniowego
> subsetFire <- subset(battleHistory, battleHistory$Method == "atakOgniowy")
> #wyświetl zawartość podzbioru
> subsetFire
     Metoda Ocena UdaneUżycieMetody Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
91       0    30                 0     0          100         1500              4
92       0   100                 1     1          100         1500              1
93       0    25                 0     0          100         2500              2
94       0    10                 0     0          250         2500             14
95       0    95                 1     1          250         2000              4
96       0    30                 0     0          250         2000             10
97       0    30                 0     0          500         4000             13
98       0    20                 0     0          500         4000             13
99       0    70                 1     0          500         5000              3
100      0    90                 1     1          500         5000              6
101      0    30                 0     0          500         5000             12
102      0    40                 0     0         1000         5000              3
103      0    45                 0     0         1000         5000              1
104      0    15                 0     0         1000        10000             12
105      0    90                 1     1         1000        10000              3
106      0    15                 0     0         1000        10000             10
107      0    20                 0     0         1500        25000              2
108      0    25                 0     0         1500        10000              4
109      0    85                 1     1         1500        10000             10
110      0    85                 1     1         2000         7500              9
111      0    30                 0     0         2000         7500              7
112      0    40                 0     0         2000        25000              2
113      0    40                 0     0         2500        20000              3
114      0    30                 0     0         2500        18000              7
115      0    80                 1     1         2500        12000              4
116      0    15                 0     0         5000        10000             11
117      0    10                 0     0         5000        50000             13
118      0    80                 1     1         7500        25000              4
119      0    50                 1     0         7500        50000              9
120      0    15                 0     0        10000        25000             10


//Generowanie statystyki zbiorczej

> #użyj funkcji mean(dane), aby obliczyć średnią dla danego zbioru danych
> #ile wynosiła średnia liczba żołnierzy Shu zaangażowanych w przeszłości w walkach bezpośrednich?
> meanShuSoldiersHeadToHead <- mean(subsetHeadToHead$ŻołnierzeShu)
> #ile wynosiła średnia liczba żołnierzy Wei zaangażowanych w przeszłości w walkach bezpośrednich?
> meanWeiSoldiersHeadToHead <- mean(subsetHeadToHead$ŻołnierzeWei)
> #jaki był średni czas trwania (w dniach) konfliktów bezpośrednich?
> meanDurationHeadToHead <- mean(subsetHeadToHead$CzasTrwaniaDni)

> #wyświetl obliczone średnie
> meanShuSoldiersHeadToHead
[1] 31341.67
> meanWeiSoldiersHeadToHead
[1] 33833.33
> meanDurationHeadToHead
[1] 77.93333

> #użyj funkcji sd(dane), aby obliczyć standardowe odchylenie dla zbioru danych
> #jakie jest standardowe odchylenie dla żołnierzy Shu zaangażowanych w przeszłości w walki bezpośrednie?
> sdShuSoldiersHeadToHead <- sd(subsetHeadToHead$ŻołnierzeShu)
> #jakie jest standardowe odchylenie dla żołnierzy Wei zaangażowanych w przeszłości w walki bezpośrednie?
> sdWeiSoldiersHeadToHead <- sd(subsetHeadToHead$ŻołnierzeWei)
> #jakie jest standardowe odchylenie dla czasu trwania (w dniach) konfliktów bezpośrednich?
> sdDurationHeadToHead <- mean(subsetHeadToHead$CzasTrwaniaDni)

> #wyświetl wyliczone odchylenia standardowe
> sdShuSoldiersHeadToHead
[1] 31320.13
> sdWeiSoldiersHeadToHead
[1] 41192.22
> sdDurationHeadToHead
[1] 77.93333

> #użyj funkcji range(dane, ...), aby obliczyć zakres zbioru danych
> #jaka jest wartość zakresu dla zbioru żołnierzy Shu zaangażowanych w przeszłości w walki bezpośrednie?
> rangeShuSoldiersHeadToHead <- range(subsetHeadToHead$ŻołnierzeShu)
> #jaka jest wartość zakresu dla zbioru żołnierzy Wei zaangażowanych w przeszłości w walki bezpośrednie?
> rangeWeiSoldiersHeadToHead <- range(subsetHeadToHead$  ŻołnierzeWei)
> #jaka jest wartość zakresu dla czasu trwania (w dniach) minionych konfliktów bezpośrednich?
> rangeDurationHeadToHead <- range(subsetHeadToHead$  CzasTrwaniaDni)

> #wyświetl obliczone zakresy
> rangeShuSoldiersHeadToHead
[1] 250 100000
> rangeWeiSoldiersHeadToHead
[1] 500 200000
> rangeDurationHeadToHead
[1] 30 120

> #użyj funkcji summary(object), aby wygenerować podsumowanie wyników dla danego obiektu
> #podsumowanie wyników dla naszych danych związanych z walkami bezpośrednimi
> summaryHeadToHead <- summary(subsetHeadToHead)

> #wyświetl podsumowanie wyników dla podzbioru danych dotyczącego walk bezpośrednich
> summaryHeadToHead
Metoda       Ocena       UdaneUżycieMetody        Wynik     ŻołnierzeShu     ŻołnierzeWei    CzasTrwaniaDni  
 ogień            : 0   Min.   : 5.00   N: 0              Porażka   :20   Min.   :   250   Min.   :   500   Min.   : 30.00  
 okrążenie        : 0   1st Qu.:20.00   T:30              Zwycięstwo:10   1st Qu.:  5000   1st Qu.: 10000   1st Qu.: 46.00  
 walkaBezpośrednia:30   Median :32.50                                     Median : 25000   Median : 15000   Median : 90.50  
 zasadzka         : 0   Mean   :45.17                                     Mean   : 31342   Mean   : 33833   Mean   : 77.93  
                        3rd Qu.:85.00                                     3rd Qu.: 50000   3rd Qu.: 45000   3rd Qu.:100.00  
                        Max.   :95.00                                     Max.   :100000   Max.   :200000   Max.   :120.00

> #wyznacz statystyki zbiorcze (średnie, odchylenia standardowe, zakresy) dla każdej z metod walki
> #wygeneruj również podsumowanie wyników dla każdego podzbioru
> #wyświetl zawartość każdej ze zmiennych

> #statystyka zbiorcza dla okrążenia
> #średnie
> meanShuSoldiersSurround <- mean(subsetSurround$ŻołnierzeShu)
> meanShuSoldiersSurround
[1] 42900
> meanWeiSoldiersSurround <- mean(subsetSurround$ŻołnierzeWei)
> meanWeiSoldiersSurround
[1] 27333.33
> meanDurationSurround <- mean(subsetSurround$CzasTrwaniaDni)
> meanDurationSurround
[1] 105.5
> #standardowe odchylenia
> sdShuSoldiersSurround <- sd(subsetSurround$ŻołnierzeShu)
> sdShuSoldiersSurround
[1] 41977.91
> sdWeiSoldiersSurround <- sd(subsetSurround$ŻołnierzeWei)
> sdWeiSoldiersSurround
[1] 32355.6
> sdDurationSurround <- sd(subsetSurround$CzasTrwaniaDni)
> sdDurationSurround
[1] 34.90949
> #zakresy
> rangeShuSoldiersSurround <- range(subsetSurround$ŻołnierzeShu)
> rangeShuSoldiersSurround
[1]   1000 150000
> rangeWeiSoldiersSurround <- range(subsetSurround$ŻołnierzeWei)
> rangeWeiSoldiersSurround
[1]    500 150000
> rangeDurationSurround <- range(subsetSurround$CzasTrwaniaDni)
> rangeDurationSurround
[1]  60 175
> #podsumowanie
> summarySurround <- summary(subsetSurround)
> summarySurround
        Metoda       Ocena     UdaneUżycieMetody        Wynik     ŻołnierzeShu     ŻołnierzeWei    CzasTrwaniaDni 
 atakOgniowy      : 0   Min.   :  5   N:14              Porażka   :16   Min.   :  1000   Min.   :   500   Min.   : 60.0  
 okrążenie        :30   1st Qu.: 15   T:16              Zwycięstwo:14   1st Qu.: 11250   1st Qu.: 10000   1st Qu.: 72.5  
 walkaBezpośrednia: 0   Median : 55                                     Median : 25000   Median : 15000   Median :104.5  
 zasadzka         : 0   Mean   : 52                                     Mean   : 42900   Mean   : 27333   Mean   :105.5  
                        3rd Qu.: 90                                     3rd Qu.: 57500   3rd Qu.: 28750   3rd Qu.:126.8  
                        Max.   :100                                     Max.   :150000   Max.   :150000   Max.   :175.0

> #statystyka zbiorcza dla zasadzki
> #średnie
> meanShuSoldiersAmbush <- mean(subsetAmbush$ŻołnierzeShu)
> meanShuSoldiersAmbush
[1] 7850
> meanWeiSoldiersAmbush <- mean(subsetAmbush$ŻołnierzeWei)
> meanWeiSoldiersAmbush
[1] 14250
> meanDurationAmbush <- mean(subsetAmbush$CzasTrwaniaDni)
> meanDurationAmbush
[1] 13.6
> #standardowe odchylenia
> sdShuSoldiersAmbush <- sd(subsetAmbush$ŻołnierzeShu)
> sdShuSoldiersAmbush
[1] 8253.683
> sdWeiSoldiersAmbush <- sd(subsetAmbush$ŻołnierzeWei)
> sdWeiSoldiersAmbush
[1] 14726.68
> sdDurationAmbush <- sd(subsetAmbush$CzasTrwaniaDni)
> sdDurationAmbush
[1] 4.575798
> #zakresy
> rangeShuSoldiersAmbush <- range(subsetAmbush$ŻołnierzeShu)
> rangeShuSoldiersAmbush
[1]   500 25000
> rangeWeiSoldiersAmbush <- range(subsetAmbush$ŻołnierzeWei)
> rangeWeiSoldiersAmbush
[1]  1500 50000
> rangeDurationAmbush <- range(subsetAmbush$CzasTrwaniaDni)
> rangeDurationAmbush
[1]  7 21
> #podsumowanie
> summaryAmbush <- summary(subsetAmbush)
> summaryAmbush
         Metoda       Ocena       UdaneUżycieMetody        Wynik     ŻołnierzeShu    ŻołnierzeWei   CzasTrwaniaDni 
 atakOgniowy      : 0   Min.   : 5.00   N:15              Porażka   :17   Min.   :  500   Min.   : 1500   Min.   : 7.00  
 okrążenie        : 0   1st Qu.:26.25   T:15              Zwycięstwo:13   1st Qu.: 1125   1st Qu.: 4250   1st Qu.: 9.25  
 walkaBezpośrednia: 0   Median :42.50                                     Median : 5000   Median :10000   Median :14.00  
 zasadzka         :30   Mean   :53.50                                     Mean   : 7850   Mean   :14250   Mean   :13.60  
                        3rd Qu.:88.75                                     3rd Qu.:10000   3rd Qu.:19500   3rd Qu.:17.75  
                        Max.   :95.00                                     Max.   :25000   Max.   :50000   Max.   :21.00
                        
> #statystyka zbiorcza dla ataku ogniowego
> #średnie
> meanShuSoldiersFire <- mean(subsetFire$ŻołnierzeShu)
> meanShuSoldiersFire
[1] 2051.667
> meanWeiSoldiersFire <- mean(subsetFire$ŻołnierzeWei)
> meanWeiSoldiersFire
[1] 12333.33
> meanDurationFire <- mean(subsetFire$CzasTrwaniaDni)
> meanDurationFire
[1] 6.866667
> #standardowe odchylenia
> sdShuSoldiersFire <- sd(subsetFire$ŻołnierzeShu)
> sdShuSoldiersFire
[1] 2492.661
> sdWeiSoldiersFire <- sd(subsetFire$ŻołnierzeWei)
> sdWeiSoldiersFire
[1] 12729.50
> sdDurationFire <- sd(subsetFire$CzasTrwaniaDni)
> sdDurationFire
[1] 4.248597
> #zakresy
> rangeShuSoldiersFire <- range(subsetFire$ŻołnierzeShu)
> rangeShuSoldiersFire
[1]   100 10000
> rangeWeiSoldiersFire <- range(subsetFire$ŻołnierzeWei)
> rangeWeiSoldiersFire
[1]  1500 50000
> rangeDurationFire <- range(subsetFire$CzasTrwaniaDni)
> rangeDurationFire
[1]  1 14
> #podsumowanie
> summaryFire <- summary(subsetFire)
> summaryFire
         Metoda      Ocena        UdaneUżycieMetody     Wynik         ŻołnierzeShu    ŻołnierzeWei   CzasTrwaniaDni  
 Min.   :0   Min.   : 10.00   Min.   :0.0000    Min.   :0.0000   Min.   :  100   Min.   : 1500   Min.   : 1.000  
 1st Qu.:0   1st Qu.: 21.25   1st Qu.:0.0000    1st Qu.:0.0000   1st Qu.:  500   1st Qu.: 4250   1st Qu.: 3.000  
 Median :0   Median : 30.00   Median :0.0000    Median :0.0000   Median : 1000   Median : 8750   Median : 6.500  
 Mean   :0   Mean   : 44.67   Mean   :0.3333    Mean   :0.2667   Mean   : 2052   Mean   :12333   Mean   : 6.867  
 3rd Qu.:0   3rd Qu.: 77.50   3rd Qu.:1.0000    3rd Qu.:0.7500   3rd Qu.: 2375   3rd Qu.:16500   3rd Qu.:10.000  
 Max.   :0   Max.   :100.00   Max.   :1.0000    Max.   :1.0000   Max.   :10000   Max.   :50000   Max.   :14.000 

//Kwantyfikacja danych kategorycznych

> #przedstaw dane kategoryczne w postaci numerycznej za pomocą funkcji as.numeric(dane)
> #przekoduj kolumnę UdaneUżycieMetody na wartości N = 1 i T = 2
> numericExecutionHeadToHead <- as.numeric(subsetHeadToHead$UdaneUżycieMetody)

> #wyświetl zawartość zmiennej numericExecutionHeadToHead
> numericExecutionHeadToHead
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

> #przekoduj kolumnę UdaneUżycieMetody na wartości N = 0 i T = 1
> #domyślnie środowisko R przekodowuje zmienne w porządku alfabetycznym od 1 do n, dlatego odejmij liczbę jeden, aby uzyskać kodowanie od 0 do n-1
> numericExecutionHeadToHead <- as.numeric(subsetHeadToHead$UdaneUżycieMetody) - 1

> #wyświetl zawartość zmiennej numericExecutionHeadToHead
> numericExecutionHeadToHead
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

> #przekoduj kolumnę Wynik na wartości Porażka = 0 i Zwycięstwo = 1
> numericResultHeadToHead <- as.numeric(subsetHeadToHead$Wynik) - 1

> #wyświetl zawartość zmiennej numericResultHeadToHead
> numericResultHeadToHead
[1] 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1

> #przekoduj kolumny UdaneUżycieMetody i Wynik dla każdej z pozostałych metod walki 
> #przekoduj kolumnę UdaneUżycieMetody na wartości N = 0 i T = 1
> #przekoduj kolumnę Wynik na wartości Porażka = 0 i Zwycięstwo = 1
> #wyświetl zawartość każdej ze zmiennych

> #okrążenie
> #UdaneUżycieMetody
> numericExecutionSurround <- as.numeric(subsetSurround$UdaneUżycieMetody) - 1
> numericExecutionSurround
[1] 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
> #Wynik
> numericResultSurround <- as.numeric(subsetSurround$Wynik) - 1
> numericResultSurround
[1] 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1

> #zasadzka
> #UdaneUżycieMetody
> numericExecutionAmbush <- as.numeric(subsetAmbush$UdaneUżycieMetody) - 1
> numericExecutionAmbush
[1] 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1

> #Wynik
> numericResultAmbush <- as.numeric(subsetAmbush$Wynik) - 1
> numericResultAmbush
[1] 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1

> #atak ogniowy
> #UdaneUżycieMetody
> numericExecutionFire <- as.numeric(subsetFire$UdaneUżycieMetody) - 1
> numericExecutionFire
[1] 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0

> #Wynik
> numericResultFire <- as.numeric(subsetFire$Wynik) - 1
> numericResultFire
[1] 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0

//Korelowanie zmiennych

> #użyj funkcji cor(x, y), aby obliczyć korelację między dwiema zmiennymi
> #pamiętaj, aby podczas liczenia korelacji używać wyłącznie wartości numerycznych
> #jak związana jest ocena działania armii Shu z rezultatami konfliktów bezpośrednich?
> corRatingResultHeadToHead <- cor(subsetHeadToHead$Ocena, numericResultHeadToHead)

> #wyświetl wartość korelacji
> corRatingResultHeadToHead
[1] 0.9495232

> #w jakim stopniu liczba żołnierzy Shu biorących udział w walkach bezpośrednich jest skorelowana z liczbą żołnierzy Wei?
> corShuWeiSoldiersHeadToHead <- cor(subsetHeadToHead$ŻołnierzeShu, subsetHeadToHead$ŻołnierzeWei)

> #wyświetl wartość korelacji
> corShuWeiSoldiersHeadToHead
[1] 0.7653596

> użyj funkcji cor(dane), aby obliczyć korelacje między (prawie) wszystkimi zmiennymi w zbiorze danych

> #wykonaj kopię zbioru danych
> subsetHeadToHeadMod = subsetHeadToHead

> #zamień wartości nienumeryczne w kolumnie Metoda na odpowiedniki numeryczne
> subsetHeadToHeadMod$Metoda = as.numeric(subsetHeadToHead$Metoda) - 1

> #zamień wartości nienumeryczne w kolumnie UdaneUżycieMetody na odpowiedniki numeryczne
> subsetHeadToHeadMod$UdaneUżycieMetody = as.numeric(subsetHeadToHead$UdaneUżycieMetody) - 1
> #zamień wartości nienumeryczne w kolumnie Wynik na odpowiedniki numeryczne
> subsetHeadToHeadMod$Wynik = as.numeric(subsetHeadToHead$Wynik) - 1

> #użyj funkcji cor(dane), aby obliczyć korelacje między wszystkimi zmiennymi numerycznymi w zbiorze danych
> #w jaki sposób wszystkie dane numeryczne dotyczące bitew są ze sobą skorelowane?
> corHeadToHead <- cor(subsetHeadToHeadMod)

> #wyświetl korelacje
> corHeadToHead 
 Metoda       Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
Metoda                 1          NA                NA         NA           NA           NA             NA
Ocena                 NA  1.00000000                NA  0.9495232    0.4222706  -0.04668125     -0.8785341
UdaneUżycieMetody     NA          NA                 1         NA           NA           NA             NA
Wynik                 NA  0.94952323                NA  1.0000000    0.3021510  -0.16295520     -0.8701757
ŻołnierzeShu          NA  0.42227061                NA  0.3021510    1.0000000   0.76535963     -0.2356156
ŻołnierzeWei          NA -0.04668125                NA -0.1629552    0.7653596   1.00000000      0.1378893
CzasTrwaniaDni        NA -0.87853412                NA -0.8701757   -0.2356156   0.13788932      1.0000000


> #spróbuj skorelować kolumnę Ocena z kolumną UdaneUżycieMetody dla każdej z pozostałych metod prowadzenia walki
> #nastepnie skoreluj cały zbiór danych
> #wyświetl otrzymane wyniki

> #okrążenie
> #w jakim stopniu ocena bitwy jest skorelowana z udanym użyciem strategii okrążenia?
> corResultExecutionSurround <- cor(numericResultSurround, numericExecutionSurround)
> corResultExecutionSurround
[1] 0.875

> #wykonaj kopię zbioru danych
> subsetSurroundMod = subsetSurround

> #zamień wartości nienumeryczne w kolumnie Metoda na odpowiedniki numeryczne
> subsetSurroundMod$Metoda = as.numeric(subsetSurround$Metoda) - 1

> #zamień wartości nienumeryczne w kolumnie UdaneUżycieMetody na odpowiedniki numeryczne
> subsetSurroundMod$UdaneUżycieMetody = as.numeric(subsetSurround$UdaneUżycieMetody) - 1
> #zamień wartości nienumeryczne w kolumnie Wynik na odpowiedniki numeryczne
> subsetSurroundMod$Wynik = as.numeric(subsetSurround$Wynik) - 1

> #jakie inne korelacje występują w zbiorze danych?
> corSurround <- cor(subsetSurroundMod)
Warning message:
In cor(subsetSurroundMod) : the standard deviation is zero
> corSurround
                  Metoda       Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
Metoda                 1          NA                NA         NA           NA           NA             NA
Ocena                 NA  1.00000000         0.9584307  0.9474354    0.6187682   0.05539471     -0.7803213
UdaneUżycieMetody     NA  0.95843073         1.0000000  0.8750000    0.5805333   0.22088500     -0.6521371
Wynik                 NA  0.94743535         0.8750000  1.0000000    0.4766006  -0.18938001     -0.8584850
ŻołnierzeShu          NA  0.61876819         0.5805333  0.4766006    1.0000000   0.50092799     -0.3310438
ŻołnierzeWei          NA  0.05539471         0.2208850 -0.1893800    0.5009280   1.00000000      0.3550494
CzasTrwaniaDni        NA -0.78032126        -0.6521371 -0.8584850   -0.3310438   0.35504935      1.0000000

> #zasadzka
> #w jakim stopniu ocena bitwy jest skorelowana z udanym użyciem strategii zasadzki
> corResultExecutionAmbush <- cor(numericResultAmbush, numericExecutionAmbush)
> corResultExecutionAmbush
[1] 0.8744746

> #wykonaj kopię zbioru danych
> subsetAmbushMod = subsetAmbush

> #zamień wartości nienumeryczne w kolumnie Metoda na odpowiedniki numeryczne
> subsetAmbushMod$Metoda = as.numeric(subsetAmbush$Metoda) - 1

> #zamień wartości nienumeryczne w kolumnie UdaneUżycieMetody na odpowiedniki numeryczne
> subsetAmbushMod$UdaneUżycieMetody = as.numeric(subsetAmbush$UdaneUżycieMetody) - 1
> #zamień wartości nienumeryczne w kolumnie Wynik na odpowiedniki numeryczne
> subsetAmbushMod$Wynik = as.numeric(subsetAmbush$Wynik) - 1

> #jakie inne korelacje występują w zbiorze danych?
> corAmbush <- cor(subsetAmbushMod)
Warning message:
In cor(subsetAmbushMod) : the standard deviation is zero
> corAmbush
                     Metoda      Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
Metoda                 1         NA                NA         NA           NA           NA             NA
Ocena                 NA  1.0000000         0.9073964  0.9398517    0.4479816    0.2878108     -0.8163571
UdaneUżycieMetody     NA  0.9073964         1.0000000  0.8744746    0.3594187    0.3211514     -0.7409237
Wynik                 NA  0.9398517         0.8744746  1.0000000    0.3974718    0.2473890     -0.8642242
ŻołnierzeShu          NA  0.4479816         0.3594187  0.3974718    1.0000000    0.8603362     -0.2906190
ŻołnierzeWei          NA  0.2878108         0.3211514  0.2473890    0.8603362    1.0000000     -0.2018726
CzasTrwaniaDni        NA -0.8163571        -0.7409237 -0.8642242   -0.2906190   -0.2018726      1.0000000

> #atak ogniowy
> #w jakim stopniu ocena bitwy jest skorelowana z udanym użyciem strategii ataku ogniowego
> corResultExecutionFire <- cor(numericResultFire, numericExecutionFire)
> corResultExecutionFire
[1] 0.8528029

> #wykonaj kopię zbioru danych
> subsetFireMod = subsetFire

> #zamień wartości nienumeryczne w kolumnie Metoda na odpowiedniki numeryczne
> subsetFireMod$Metoda = as.numeric(subsetFire$Metoda) - 1

> #zamień wartości nienumeryczne w kolumnie UdaneUżycieMetody na odpowiedniki numeryczne
> subsetFireMod$UdaneUżycieMetody = as.numeric(subsetFire$UdaneUżycieMetody) - 1
> #zamień wartości nienumeryczne w kolumnie Wynik na odpowiedniki numeryczne
> subsetFireMod$Wynik = as.numeric(subsetFire$Wynik) - 1

> #jakie inne korelacje występują w zbiorze danych?
> corFire <- cor(subsetFireMod)
Warning message:
In cor(subsetFireMod) : the standard deviation is zero
> corFire
                      Metoda      Ocena UdaneUżycieMetody      Wynik ŻołnierzeShu ŻołnierzeWei CzasTrwaniaDni
Metoda                 1         NA                NA         NA           NA           NA             NA
Ocena                 NA  1.0000000        0.91945796  0.9006976  -0.11452122  -0.17682082     -0.4597561
UdaneUżycieMetody     NA  0.9194580        1.00000000  0.8528029   0.08174874   0.02636586     -0.2652026
Wynik                 NA  0.9006976        0.85280287  1.0000000  -0.03270480  -0.15458357     -0.2514287
ŻołnierzeShu          NA -0.1145212        0.08174874 -0.0327048   1.00000000   0.73850610      0.1629878
ŻołnierzeWei          NA -0.1768208        0.02636586 -0.1545836   0.73850610   1.00000000      0.1070097
CzasTrwaniaDni        NA -0.4597561       -0.26520256 -0.2514287   0.16298783   0.10700973      1.0000000

//Regresja

//Modelowanie za pomocą prostej regresji liniowej

> #stwórz model regresji liniowej za pomocą funkcji lm(formula, data)
> #prognoza oceny bitwy z walką bezpośrednią przy użyciu liczby żołnierzy Shu biorących w niej udział
> lmHeadToHeadRating_ShuSoldiers <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$ŻołnierzeShu, subsetHeadToHead)

> #wyświetl zawartość modelu
> lmHeadToHeadRating_ShuSoldiers

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$ŻołnierzeShu, 
    data = subsetHeadToHead)

Coefficients:
                  (Intercept)  subsetHeadToHead$ŻołnierzeShu  
                    3.146e+01                      4.374e-04   

> #stwórz podsumowanie dla modelu
> lmHeadToHeadRating_ShuSoldiers_Summary <- summary(lmHeadToHeadRating_ShuSoldiers)

> #wyświetl podsumowanie dla modelu
> lmHeadToHeadRating_ShuSoldiers_Summary
Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$ŻołnierzeShu, 
    data = subsetHeadToHead)

Residuals:
    Min      1Q  Median      3Q     Max 
-45.199 -23.371  -9.112  24.253  51.981 

Coefficients:
                               Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.146e+01  7.797e+00   4.035 0.000383 ***
subsetHeadToHead$ŻołnierzeShu 4.374e-04  1.774e-04   2.465 0.020098 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 29.93 on 28 degrees of freedom
Multiple R-squared: 0.1783,     Adjusted R-squared: 0.149 
F-statistic: 6.076 on 1 and 28 DF,  p-value: 0.0201 



//Modelowanie za pomocą wielokrotnej regresji liniowej

> #stwórz model wielokrotnej regresji liniowej,  używając w tym celu funkcji lm(formula, data)
> #oszacuj ocenę bitwy z walkami bezpośrednimi,   biorąc pod uwagę liczby walczących żołnierzy Shu i Wei
> lmHeadToHeadRating_ShuWeiSoldiers <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei, subsetHeadToHead)

> #podsumowanie modelu
> lmHeadToHeadRating_ShuWeiSoldiers_Summary <- summary(lmHeadToHeadRating_ShuWeiSoldiers)
> #wyświetl podsumowanie
>   lmHeadToHeadRating_ShuWeiSoldiers_Summary

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$ŻołnierzeShu + 
    subsetHeadToHead$ŻołnierzeWei, data = subsetHeadToHead)

Residuals:
    Min      1Q  Median      3Q     Max 
-29.765 -17.896  -6.758  14.918  46.789 

Coefficients:
                                Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   33.0642804  6.1518218   5.375 1.11e-05 ***
subsetHeadToHead$ŻołnierzeShu  0.0011453  0.0002171   5.275 1.46e-05 ***
subsetHeadToHead$ŻołnierzeWei -0.0007033  0.0001651  -4.260 0.000222 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 23.57 on 27 degrees of freedom
Multiple R-squared: 0.5086,     Adjusted R-squared: 0.4722 
F-statistic: 13.97 on 2 and 27 DF,  p-value: 6.833e-05 


> #oszacuj wynik walki bezpośredniej używając w tym celu czasu trwania bitwy
> lmHeadToHeadRating_Duration <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni, subsetHeadToHead)
> #podsumowanie
> lmHeadToHeadRating_Duration_Summary <- summary(lmHeadToHeadRating_Duration)
> lmHeadToHeadRating_Duration_Summary
Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni, 
    data = subsetHeadToHead)

Residuals:
    Min      1Q  Median      3Q     Max 
-36.328  -9.003   2.853   8.252  25.894 

Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                     119.54682    8.16731  14.637 1.20e-14 ***
subsetHeadToHead$CzasTrwaniaDni  -0.95441    0.09807  -9.732 1.75e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 15.77 on 28 degrees of freedom
Multiple R-squared: 0.7718,     Adjusted R-squared: 0.7637 
F-statistic: 94.71 on 1 and 28 DF,  p-value: 1.747e-10 

> #oszacuj wynik walki bezpośredniej używając w tym celu czasu trwania bitwy i liczby żołnierzy Shu
> lmHeadToHeadRating_DurationShuSoldiers <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + subsetHeadToHead$ŻołnierzeShu, subsetHeadToHead)
> #podsumowanie
> lmHeadToHeadRating_DurationShuSoldiers_Summary <- summary(lmHeadToHeadRating_DurationShuSoldiers)
> lmHeadToHeadRating_DurationShuSoldiers_Summary 
Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + 
    subsetHeadToHead$ŻołnierzeShu, data = subsetHeadToHead)

Residuals:
    Min      1Q  Median      3Q     Max 
-29.121  -9.290   2.693   8.955  25.584 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      1.076e+02  8.579e+00  12.543 8.96e-13 ***
subsetHeadToHead$CzasTrwaniaDni -8.961e-01  9.105e-02  -9.842 2.00e-10 ***
subsetHeadToHead$ŻołnierzeShu    2.361e-04  8.681e-05   2.720   0.0113 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 14.23 on 27 degrees of freedom
Multiple R-squared: 0.8209,     Adjusted R-squared: 0.8076 
F-statistic: 61.87 on 2 and 27 DF,  p-value: 8.263e-11  

> #oszacuj wynik walki bezpośredniej używając w tym celu czasu trwania bitwy, liczby żołnierzy Shu oraz liczby żołnierzey Wei
> lmHeadToHeadRating_DuratioSoldiers <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei, subsetHeadToHead)
> #podsumowanie
> lmHeadToHeadRating_DuratioSoldiers_Summary <- summary(lmHeadToHeadRating_DuratioSoldiers)
> lmHeadToHeadRating_DuratioSoldiers_Summary 
Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + 
    subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei, 
    data = subsetHeadToHead)

Residuals:
     Min       1Q   Median       3Q      Max 
-25.4560  -8.3716  -0.2642  10.0152  24.3812 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                     97.3500156  8.6961491  11.195 1.92e-11 ***
subsetHeadToHead$CzasTrwaniaDni -0.7680305  0.0958033  -8.017 1.70e-08 ***
subsetHeadToHead$ŻołnierzeShu    0.0005422  0.0001406   3.857 0.000678 ***
subsetHeadToHead$ŻołnierzeWei   -0.0002755  0.0001049  -2.627 0.014258 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 12.89 on 26 degrees of freedom
Multiple R-squared: 0.8585,     Adjusted R-squared: 0.8421 
F-statistic: 52.56 on 3 and 26 DF,  p-value: 3.57e-11 
 

> #czas trwania bitwy jest bardzo ważnym czynnikiem wpływającym na szacowanie wyniku armii Shu w konflikcie bezpośrednim!

//Modelowanie interakcji

> #zanim stworzysz zmienną interakcyjną, zmienne składowe powinny zostać wycentrowane
> #wycentruj zmienną poprzez odjęcie jej średniej od każdego z jej składników
> #wycentruj liczbę walczących żołnierzy Shu 
> centeredShuSoldiersHeadToHead <- (subsetHeadToHead$ŻołnierzeShu)  - mean(subsetHeadToHead$ŻołnierzeShu)
> #wycentruj liczbę żołnierzy   Wei
> centeredWeiSoldiersHeadToHead <- (subsetHeadToHead$ŻołnierzeWei)  - mean(subsetHeadToHead$ŻołnierzeWei)

> #stwórz zmienną interakcyjną poprzez pomnożenie dwóch lub większej liczby zmiennych wycentrowanych
> interactionSoldiersHeadToHead <- centeredShuSoldiersHeadToHead * centeredWeiSoldiersHeadToHead

> #stwórz prognozę wyniku bitwy,  wykorzystując czas trwania konfliktu, liczby żołnierzy walczących   po stronie Shu i Wei oraz interakcję między tymi liczbami
> lmHeadToHeadRating_DurationSoldiersShuWeiInteraction <- lm(subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei + interactionSoldiersHeadToHead, subsetHeadToHead)

> #podsumowanie modelu
> lmHeadToHeadRating_DurationSoldiersShuWeiInteraction_Summary <- summary(lmHeadToHeadRating_DurationSoldiersShuWeiInteraction)

> #wyświetl podsumowanie
> lmHeadToHeadRating_DurationSoldiersShuWeiInteraction_Summary

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + 
    subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei + 
    interactionSoldiersHeadToHead, data = subsetHeadToHead)

Residuals:
     Min       1Q   Median       3Q      Max 
-25.3749  -8.9428   0.6675   9.3589  22.2165 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      9.956e+01  8.871e+00  11.222 2.98e-11 ***
subsetHeadToHead$CzasTrwaniaDni -7.977e-01  9.890e-02  -8.066 2.02e-08 ***
subsetHeadToHead$ŻołnierzeShu    4.661e-04  1.553e-04   3.000  0.00603 ** 
subsetHeadToHead$ŻołnierzeWei   -1.338e-04  1.635e-04  -0.819  0.42078    
interactionSoldiersHeadToHead   -2.413e-09  2.143e-09  -1.126  0.27090    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 12.83 on 25 degrees of freedom
Multiple R-squared: 0.8653,     Adjusted R-squared: 0.8437 
F-statistic: 40.14 on 4 and 25 DF,  p-value: 1.549e-10  

//Porównywanie i wybór modeli

> #użyj hierarchicznej regresji liniowej w celu porównania różnych modeli
> #najpierw weź pod uwagę   każdy z modeli oddzielnie
> #model regresji prostej używający czasu trwania bitwy w celu prognozowania jej wyniku
> lmHeadToHeadRating_Duration_Summary 

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni, 
    data = subsetHeadToHead)

Residuals:
    Min      1Q  Median      3Q     Max 
-36.328  -9.003   2.853   8.252  25.894 

Coefficients:
                                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)                     119.54682    8.16731  14.637 1.20e-14 ***
subsetHeadToHead$CzasTrwaniaDni  -0.95441    0.09807  -9.732 1.75e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 15.77 on 28 degrees of freedom
Multiple R-squared: 0.7718,     Adjusted R-squared: 0.7637 
F-statistic: 94.71 on 1 and 28 DF,  p-value: 1.747e-10 
 

> #model regresji wielokrotnej wykorzystujący czas trwania bitwy oraz liczby żołnierzy Shu i Wei w celu prognozowania wyniku konfliktu
> lmHeadToHeadRating_DurationSoldiers_Summary

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + 
    subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei, 
    data = subsetHeadToHead)

Residuals:
     Min       1Q   Median       3Q      Max 
-25.4560  -8.3716  -0.2642  10.0152  24.3812 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                     97.3500156  8.6961491  11.195 1.92e-11 ***
subsetHeadToHead$CzasTrwaniaDni -0.7680305  0.0958033  -8.017 1.70e-08 ***
subsetHeadToHead$ŻołnierzeShu    0.0005422  0.0001406   3.857 0.000678 ***
subsetHeadToHead$ŻołnierzeWei   -0.0002755  0.0001049  -2.627 0.014258 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 12.89 on 26 degrees of freedom
Multiple R-squared: 0.8585,     Adjusted R-squared: 0.8421 
F-statistic: 52.56 on 3 and 26 DF,  p-value: 3.57e-11 

> #model interakcyjny wykorzystujący czas trwania bitwy, liczby żołnierzy Shu i Wei, a także interakcję między liczbami żołnierzy Shu i Wei w celu prognozowania wyniku konfliktu
> lmHeadToHeadRating_DurationSoldiersShuWeiInteraction_Summary

Call:
lm(formula = subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + 
    subsetHeadToHead$ŻołnierzeShu + subsetHeadToHead$ŻołnierzeWei + 
    interactionSoldiersHeadToHead, data = subsetHeadToHead)

Residuals:
     Min       1Q   Median       3Q      Max 
-25.3749  -8.9428   0.6675   9.3589  22.2165 

Coefficients:
                                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)                      9.956e+01  8.871e+00  11.222 2.98e-11 ***
subsetHeadToHead$CzasTrwaniaDni -7.977e-01  9.890e-02  -8.066 2.02e-08 ***
subsetHeadToHead$ŻołnierzeShu    4.661e-04  1.553e-04   3.000  0.00603 ** 
subsetHeadToHead$ŻołnierzeWei   -1.338e-04  1.635e-04  -0.819  0.42078    
interactionSoldiersHeadToHead   -2.413e-09  2.143e-09  -1.126  0.27090    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 12.83 on 25 degrees of freedom
Multiple R-squared: 0.8653,     Adjusted R-squared: 0.8437 
F-statistic: 40.14 on 4 and 25 DF,  p-value: 1.549e-10 

> #użyj funkcji anova(object, ...), aby porównać względne wartości korzyści uzyskanych dla różnych modeli
> #porównaj trzy modele dla walk bezpośrednich,   używając metody ANOVA
> anovaHeadToHeadRatingModelComparison <- anova(lmHeadToHeadRating_Duration, lmHeadToHeadRating_DurationSoldiers, lmHeadToHeadRating_DurationSoldiersShuWeiInteraction)

> #wyświetl wyniki działania funkcji anova
> anovaHeadToHeadRatingModelComparison

Analysis of Variance Table

Model 1: subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni
Model 2: subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + subsetHeadToHead$ŻołnierzeShu + 
    subsetHeadToHead$ŻołnierzeWei
Model 3: subsetHeadToHead$Ocena ~ subsetHeadToHead$CzasTrwaniaDni + subsetHeadToHead$ŻołnierzeShu + 
    subsetHeadToHead$ŻołnierzeWei + interactionSoldiersHeadToHead
  Res.Df    RSS Df Sum of Sq      F   Pr(>F)   
1     28 6964.9                                
2     26 4320.5  2    2644.4 8.0386 0.002015 **
3     25 4112.0  1     208.5 1.2676 0.270903   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

//Zapamiętaj obszar roboczy i treść konsoli

> #zapisz zawartość swojego obszaru roboczego R w nowym pliku
> #pamiętaj o dodaniu rozszerzenia .RData
> save.image("rDlaPoczątkujących_R_05_mójObszarRoboczy.RData")

> #zapisz zawartość swojej konsoli R poprzez skopiowanie i wklejenie treści do pliku teksowego